package com.bei_en.teacher.management.controller.questions;

import java.sql.BatchUpdateException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.commons.lang3.StringEscapeUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.TransactionStatus;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import com.bei_en.common.ExcelUtilController;
import com.bei_en.common.util.tencent.UploadUtil;
import com.bei_en.common.web.JsonFailResult;
import com.bei_en.common.web.JsonResult;
import com.bei_en.common.web.JsonSuccessResult;
import com.bei_en.teacher.admin.model.questions.condition.QuestionsCondition;
import com.bei_en.teacher.admin.model.questions.condition.QuestionsDatabaseCondition;
import com.bei_en.teacher.admin.model.questions.condition.QuestionsTypeCondition;
import com.bei_en.teacher.admin.model.questions.vo.QuestionsDatabaseVo;
import com.bei_en.teacher.admin.model.questions.vo.QuestionsTypeVo;
import com.bei_en.teacher.admin.model.questions.vo.QuestionsVo;
import com.bei_en.teacher.admin.service.questions.QuestionsDatabaseService;
import com.bei_en.teacher.admin.service.questions.QuestionsService;
import com.bei_en.teacher.admin.service.questions.QuestionsTypeService;
import com.bei_en.teacher.management.controller.BaseController;
import com.bei_en.teacher.management.model.system.vo.SystemUserVo;
import com.bei_en.teacher.management.web.MyJsonFailResult;
import com.bei_en.teacher.management.web.MyJsonResult;
import com.bei_en.teacher.management.web.MyJsonSuccessResult;
import com.mysql.fabric.xmlrpc.base.Data;

/**
 * 
 * @author Guocg
 * @date 2016-8-15 23:28:11
 */
@Controller
@RequestMapping("/admin")
public class QuestionsController extends BaseController {
	@Autowired
	QuestionsDatabaseService questionsDatabaseService;
	private Map<String, String> uploadMap = new ConcurrentHashMap<String, String>();// no
	@Autowired
	QuestionsService questionsService;
	@Autowired
	QuestionsTypeService questionsTypeService;

	private void addSharedAttr(Model model) {
		model.addAttribute(
				"questionsType",
				gson.fromJson(
						"{1:'单选题',2:'判断题',3:'多选题',4:'名词解析',5:'简答题',6:'填空题',7:'论述题',8:'材料分析题',9:'辨析题',10:'活动设计题',11:'分析应用题',12:'案例分析题',13:'写作题',14:'教学设计题',15:'音标（注音）',16:'翻译',17:'阅读理解',18:'分析题',19:'解答题',20:'综合应用题',22:'程序设计题',23:'规律的运用',24:'综合题',25:'操作题',26:'匹配题',27:'绘图题'}",
						Map.class));
		model.addAttribute("Type", gson.fromJson("{1:'题',2:'真题'}", Map.class));
	}

	@RequestMapping("/questions")
	public String questions(Model model, QuestionsCondition vo,
			HttpServletResponse resp) {

		List<QuestionsVo> list = new ArrayList<QuestionsVo>();
		try {

			list = questionsService.findQuestionsPage(vo);
		} catch (Exception e) {
			e.printStackTrace();
			writeJson(resp, new MyJsonFailResult(e.getMessage()));
			return null;
		}
		model.addAttribute("Chapter", getListChapter());
		model.addAttribute("list", list);
		addSharedAttr(model);
		model.addAttribute("vo", vo);
		JSONArray listType = new JSONArray();
		QuestionsTypeCondition questionsTypeCondition = new QuestionsTypeCondition();
		questionsTypeCondition.setParent(0);
		questionsTypeCondition.setPageSize(Integer.MAX_VALUE);
		listType = questionsTypeService
				.findIntegralLogsMapPage(questionsTypeCondition);
		
		model.addAttribute("listType", listType.toString());
		// 节
		if (vo.getChapterId() != null && vo.getChapterId() > 0) {
			questionsTypeCondition = new QuestionsTypeCondition();
			questionsTypeCondition.setParent(vo.getChapterId());
			questionsTypeCondition.setPageSize(Integer.MAX_VALUE);
			listType = questionsTypeService
					.findIntegralLogsMapPage(questionsTypeCondition);
			model.addAttribute("listType1", listType);
		} else {
			model.addAttribute("listType1", new ArrayList<QuestionsTypeVo>());
		}
		// 点
		if (vo.getSectionId() != null && vo.getSectionId() > 0) {
			questionsTypeCondition = new QuestionsTypeCondition();
			questionsTypeCondition.setParent(vo.getSectionId());
			questionsTypeCondition.setPageSize(Integer.MAX_VALUE);
			listType = questionsTypeService
					.findIntegralLogsMapPage(questionsTypeCondition);
			model.addAttribute("listType2", listType);
		} else {
			model.addAttribute("listType2", new ArrayList<QuestionsTypeVo>());
		}
		// 细分点
		if (vo.getSpotId() != null && vo.getSpotId() > 0) {
			questionsTypeCondition = new QuestionsTypeCondition();
			questionsTypeCondition.setParent(vo.getSpotId());
			questionsTypeCondition.setPageSize(Integer.MAX_VALUE);
			listType = questionsTypeService
					.findIntegralLogsMapPage(questionsTypeCondition);
			model.addAttribute("listType3", listType);
		} else {
			model.addAttribute("listType3", new ArrayList<QuestionsTypeVo>());
		}
		System.out.println(new Data());
		return "/admin/questions/questionsList.html";
	}

	@RequestMapping("/questionsTypeAdmin")
	@ResponseBody
	public JSONArray questionsTypeAdmin(Model model, Integer questionsTypeId) {

		List<QuestionsTypeVo> listType = new ArrayList<QuestionsTypeVo>();
		QuestionsTypeCondition questionsTypeCondition = new QuestionsTypeCondition();
		questionsTypeCondition.setParent(questionsTypeId);
		questionsTypeCondition.setPageSize(Integer.MAX_VALUE);
		listType = questionsTypeService
				.findQuestionsTypePage(questionsTypeCondition);
		JSONObject object = null;
		object = new JSONObject();
		object.accumulate("value", "-1");
		object.accumulate("label", "全部");
		JSONArray array = new JSONArray();
		array.add(object);

		QuestionsTypeVo vs = null;
		for (int i = 0; i < listType.size(); i++) {
			object = new JSONObject();
			vs = listType.get(i);
			object.accumulate("value", vs.getId());
			object.accumulate("label", vs.getName());
			array.add(object);
		}
		return array;
	}

	@RequestMapping("/questionsAdd")
	public String questionsAdd(Model model, QuestionsVo vo, boolean show,
			HttpSession session, HttpServletResponse resp) {

		if (show) {
			addSharedAttr(model);

			return "/admin/questions/questionsAdd.html";
		}
		try {
			JSONArray jsonObject=new JSONArray();
			String[] array = vo.getImageArray();
			for (int i = 0; i < array.length; i++) {
				switch (array[i]) {
				case "1"://题干公式
				case "2"://答案公式
				case "3"://A公式
				case "4"://B公式
				case "5"://C公式
				case "6"://D公式
					jsonObject.add("");
					break;
				default:
					jsonObject.add(i, array[i]);
					break;
				}
			}
			vo.setImage2(jsonObject.toString());
			/*
			 * SysUserVo obj = getLoginUser(session); if (obj!=null)
			 * vo.setCreateId(obj.getId()); else vo.setCreateId(0);
			 */
			vo.setContent(StringEscapeUtils.unescapeHtml4(vo.getContent()));
			vo.setAnswer(StringEscapeUtils.unescapeHtml4(vo.getAnswer()));
			vo.setAnswers(StringEscapeUtils.unescapeHtml4(vo.getAnswers()));
			vo.setCreateTime(new Date());
			vo.setMakeTime(0);
			vo.setMakeNum(0);
			vo.setYesNum(0);
			vo.setErrorNum(0);
			vo.setWeight(0);

			questionsService.insert(vo);
			// //更新题数和分数
			// QuestionsTypeVo questionsTypeVo=
			// questionsTypeService.findById(vo.getQuestionsTypeId());
			// double temp=vo.getFraction();
			// questionsTypeVo.setFractionSum(questionsTypeVo.getFractionSum()+(long)temp);
			// questionsTypeVo.setQuestionsSum(questionsTypeVo.getQuestionsSum()+1);
			// questionsTypeService.updateSelective(questionsTypeVo);
			// //存储更新字段
			// String str =
			// "INSERT INTO `teacher`.`questions` (`id`, `title`,  `image`,`type`, `questions_type_id`,`answer`, `year `answer`, `answers`,`fraction`, `content`, `analysis`,`make_time`, `yes_num`, `error_num`, `make_num`, `weight`, `chapter_id`，`section_id`，`spot_id`，`subdivisionPointId`)"
			// + "VALUES ("
			// + vo.getId()
			// + "' , '"
			// + vo.getTitle()
			// + "' , '"
			// + vo.getImage()
			// + "' , '"
			// + vo.getType()
			// + "' , '"
			// + vo.getQuestionsTypeId()
			// + "' , '"
			// + vo.getYear()
			// + "' , '"
			// + vo.getAnswer()
			// + "' , '"
			// + vo.getAnswers()
			// + "' , '"
			// + ""
			// + vo.getFraction()
			// + "' , '"
			// + vo.getContent()
			// + "' , '"
			// + vo.getAnalysis()
			// + "' , '"
			// + vo.getMakeTime()
			// + "' , '"
			// + vo.getYesNum()
			// + "' , '"
			// + vo.getErrorNum()
			// + "' , '"
			// + vo.getMakeNum()
			// + "' , '"
			// + vo.getWeight()
			// + "' , '"
			// + vo.getCreateTime().getTime()
			// + "' , '"
			// + 0
			// + "' , '"
			// + 0
			// + "' , '"
			// +0+
			// "' , '"
			// +0+
			// ")";
			// QuestionsDatabaseCondition questionsDatabaseCondition=new
			// QuestionsDatabaseCondition();
			// questionsDatabaseCondition.setPageSize(1);
			// List<QuestionsDatabaseVo> questionsDatabaseVos=
			// questionsDatabaseService.findQuestionsDatabasePage(questionsDatabaseCondition);
			// if(!questionsDatabaseVos.isEmpty()){
			// QuestionsDatabaseVo questionsDatabaseVo=
			// questionsDatabaseVos.get(0);
			// //判断是不是在一天以内 如果是就添加不是就插入
			// if(questionsDatabaseVo.getCreateTime().getTime()-System.currentTimeMillis()>86400){
			// JSONArray array=new JSONArray();
			// QuestionsDatabaseVo questionsDatabaseVo2=new
			// QuestionsDatabaseVo();
			// questionsDatabaseVo2.setCreateTime(new Date());
			// questionsDatabaseVo2.setVersion(Integer.valueOf(questionsDatabaseVo.getVersion()+1)+"");
			// array.add(str);
			// questionsDatabaseVo2.setContent(array.toString());
			// questionsDatabaseVo.setType(1);
			// questionsDatabaseService.insert(questionsDatabaseVo2);
			// }else{
			// JSONArray array=new JSONArray();
			// array= array.fromObject(questionsDatabaseVo.getContent());
			// questionsDatabaseVo.setType(questionsDatabaseVo.getType()+1);
			// array.add(str);
			// questionsDatabaseVo.setContent(array.toString());
			// questionsDatabaseService.updateSelective(questionsDatabaseVo);
			// }
			// }else{
			// JSONArray array=new JSONArray();
			// QuestionsDatabaseVo questionsDatabaseVo2=new
			// QuestionsDatabaseVo();
			// questionsDatabaseVo2.setCreateTime(new Date());
			// questionsDatabaseVo2.setType(1);
			// questionsDatabaseVo2.setVersion("1");
			// array.add(str);
			// questionsDatabaseVo2.setContent(array.toString());
			// questionsDatabaseService.insert(questionsDatabaseVo2);
			// }

		} catch (Exception e) {
			e.printStackTrace();
			writeJson(resp, new MyJsonFailResult(e.getMessage()));
			return null;
		}
		MyJsonSuccessResult re = new MyJsonSuccessResult();
		re.setCloseCurrent(true);
		re.setTabid("questionsList");
		writeJson(resp, re);
		return null;
	}

	@RequestMapping("/questionsEdit")
	public String questionsEdit(Model model, boolean show, QuestionsVo vo,
			HttpSession session, HttpServletResponse resp) {

		if (show) {
			QuestionsVo vo1 = questionsService.findById(vo.getId());
			addSharedAttr(model);
			model.addAttribute("vo", vo1);
			return "/admin/questions/questionsEdit.html";
		}
		try {
			/*
			 * SysUserVo obj = getLoginUser(session); if (obj!=null)
			 * vo.setUpdateId(obj.getId()); else vo.setUpdateId(0);
			 */
			// vo.setUpdateTime(new Date());
			
			JSONArray jsonObject=new JSONArray();
			String[] array = vo.getImageArray();
			for (int i = 0; i < array.length; i++) {
				switch (array[i]) {
				case "":
					jsonObject.add("");
					break;
				default:
					jsonObject.add(i, array[i]);
					break;
				}
			}
			vo.setImage2(jsonObject.toString());
			vo.setContent(StringEscapeUtils.unescapeHtml4(vo.getContent()));
			vo.setAnswer(StringEscapeUtils.unescapeHtml4(vo.getAnswer()));
			vo.setAnswers(StringEscapeUtils.unescapeHtml4(vo.getAnswers()));
			questionsService.updateSelective(vo);
			// String str = "UPDATE `teacher`.`questions` SET  `title`='"
			// + vo.getTitle()
			// + "', `type`='"
			// + vo.getType()
			// + "', `questions_type_id`='"
			// + vo.getQuestionsTypeId()
			// + "',  `year`='"
			// + vo.getYear()
			// + "', `answer`='"
			// + vo.getAnswer()
			// + "', `answers`='"
			// + vo.getAnswers()
			// + "', `analysis`='"
			// + vo.getAnalysis()
			// + "', `fraction`='"
			// + vo.getFraction()
			// + "', `content`='"
			// + vo.getContent()
			// + "', `make_time`='"
			// + vo.getMakeTime()
			// + "', `yes_num`='"
			// + vo.getYesNum()
			// + "', `error_num`='"
			// + vo.getErrorNum()
			// + "', `make_num`='"
			// + vo.getMakeNum()
			// + "', `weight`='"
			// + vo.getWeight()
			// + "'  WHERE (`id`='"
			// + vo.getId()
			// + "');";
			// QuestionsDatabaseCondition questionsDatabaseCondition=new
			// QuestionsDatabaseCondition();
			// questionsDatabaseCondition.setPageSize(1);
			// List<QuestionsDatabaseVo> questionsDatabaseVos=
			// questionsDatabaseService.findQuestionsDatabasePage(questionsDatabaseCondition);
			// if(!questionsDatabaseVos.isEmpty()){
			// QuestionsDatabaseVo questionsDatabaseVo=
			// questionsDatabaseVos.get(0);
			// //判断是不是在一天以内 如果是就添加不是就插入
			// if(questionsDatabaseVo.getCreateTime().getTime()-System.currentTimeMillis()>86400){
			// JSONArray array=new JSONArray();
			// QuestionsDatabaseVo questionsDatabaseVo2=new
			// QuestionsDatabaseVo();
			// questionsDatabaseVo2.setCreateTime(new Date());
			// questionsDatabaseVo2.setVersion(Integer.valueOf(questionsDatabaseVo.getVersion()+1)+"");
			// array.add(str);
			// questionsDatabaseVo.setType(1);
			// questionsDatabaseVo2.setContent(array.toString());
			// questionsDatabaseService.insert(questionsDatabaseVo2);
			// }else{
			// JSONArray array=new JSONArray();
			// array= array.fromObject(questionsDatabaseVo.getContent());
			// array.add(str);
			// questionsDatabaseVo.setContent(array.toString());
			// questionsDatabaseVo.setType(questionsDatabaseVo.getType()+1);
			// questionsDatabaseVo.setCreateTime(new Date());
			// questionsDatabaseService.updateSelective(questionsDatabaseVo);
			// }
			// }else{
			// JSONArray array=new JSONArray();
			// QuestionsDatabaseVo questionsDatabaseVo2=new
			// QuestionsDatabaseVo();
			// questionsDatabaseVo2.setCreateTime(new Date());
			// questionsDatabaseVo2.setType(1);
			// questionsDatabaseVo2.setVersion("1");
			// array.add(str);
			// questionsDatabaseVo2.setContent(array.toString());
			// questionsDatabaseService.insert(questionsDatabaseVo2);
			// }
			//

		} catch (Exception e) {
			e.printStackTrace();
			writeJson(resp, new MyJsonFailResult(e.getMessage()));
			return null;
		}
		MyJsonSuccessResult re = new MyJsonSuccessResult();
		re.setCloseCurrent(true);
		re.setTabid("questionsList");
		writeJson(resp, re);
		return null;
	}

	@RequestMapping("/questionsDel")
	@ResponseBody
	public MyJsonResult questionsDel(Model model, int[] delids,
			HttpSession session) {

		try {
			for (int i : delids) {
				QuestionsVo vo1 = new QuestionsVo();
				vo1.setId(i);

				// vo1.setStatus(0);
				/*
				 * SysUserVo obj = getLoginUser(session); if (obj!=null)
				 * vo1.setUpdateId(obj.getId()); else vo1.setUpdateId(0);
				 */
				// vo1.setUpdateTime(new Date());
				questionsService.delete(i);
				// DELETE FROM `teacher`.`questions` WHERE `questions`.`id` = 2
				// String str =
				// "DELETE FROM `teacher`.`questions` WHERE `questions`.`id` = "+i+"		";
				// QuestionsDatabaseCondition questionsDatabaseCondition=new
				// QuestionsDatabaseCondition();
				// questionsDatabaseCondition.setPageSize(1);
				// List<QuestionsDatabaseVo> questionsDatabaseVos=
				// questionsDatabaseService.findQuestionsDatabasePage(questionsDatabaseCondition);
				// if(!questionsDatabaseVos.isEmpty()){
				// QuestionsDatabaseVo questionsDatabaseVo=
				// questionsDatabaseVos.get(0);
				// //判断是不是在一天以内 如果是就添加不是就插入
				// if(questionsDatabaseVo.getCreateTime().getTime()-System.currentTimeMillis()>86400){
				// JSONArray array=new JSONArray();
				// QuestionsDatabaseVo questionsDatabaseVo2=new
				// QuestionsDatabaseVo();
				// questionsDatabaseVo2.setCreateTime(new Date());
				// questionsDatabaseVo.setType(1);
				// questionsDatabaseVo2.setVersion(Integer.valueOf(questionsDatabaseVo.getVersion()+1)+"");
				// array.add(str);
				// questionsDatabaseVo2.setContent(array.toString());
				// questionsDatabaseService.insert(questionsDatabaseVo2);
				// }else{
				// JSONArray array=new JSONArray();
				// array= array.fromObject(questionsDatabaseVo.getContent());
				// array.add(str);
				// questionsDatabaseVo.setContent(array.toString());
				// questionsDatabaseVo.setCreateTime(new Date());
				// questionsDatabaseVo.setType(questionsDatabaseVo.getType()+1);
				// questionsDatabaseService.updateSelective(questionsDatabaseVo);
				// }
				// }else{
				// JSONArray array=new JSONArray();
				// QuestionsDatabaseVo questionsDatabaseVo2=new
				// QuestionsDatabaseVo();
				// questionsDatabaseVo2.setCreateTime(new Date());
				// questionsDatabaseVo2.setType(1);
				// questionsDatabaseVo2.setVersion("1");
				// array.add(str);
				// questionsDatabaseVo2.setContent(array.toString());
				// questionsDatabaseService.insert(questionsDatabaseVo2);
				// }
				//

			}
		} catch (Exception e) {
			e.printStackTrace();
			return new MyJsonFailResult(e.getMessage());
		}
		return new MyJsonSuccessResult();
	}

	@RequestMapping("/questionsDialog")
	public String userInvoiceDialog(Model model, QuestionsVo vo,
			HttpSession session, HttpServletResponse resp) {

		return "/admin/questions/questionsDialog.html";
	}

	@RequestMapping(value = "/realestate/uploadExcel", method = RequestMethod.POST)
	@ResponseBody
	public JsonResult uploadFile(Model model, MultipartFile file, String base,
			HttpSession session) {
		Map map = new HashMap();
		String picUrl = null;
		try {
			picUrl = UploadUtil.uploadLocal(request, file);
			if (picUrl != null) {
				Map map1 = ExcelUtilController.realestateImportExcel(picUrl,
						true);
				map.put("total", map1.get("total"));
				map.put("right", map1.get("right"));
				map.put("wrong", map1.get("wrong"));
				map.put("base", base);
				uploadMap.put(session.getId(), picUrl);
			}
		} catch (Exception e) {
			e.printStackTrace();
			return new JsonFailResult(session.getId());
		}
		return new JsonSuccessResult(session.getId(), map);
	}

	@RequestMapping(value = "/realestate/importExcel", method = RequestMethod.POST)
	@ResponseBody
	public Object importExcel(Model model, HttpSession session)
			throws BatchUpdateException {

		Map map = new HashMap();

		String picUrl = uploadMap.get(session.getId());
		log.info("excelUrl=" + picUrl);
		// picUrl =
		// "D:/amIurs/git/smart-yuda-java/SmartYuda/WebRoot/upload/a2f46418f5074890810c86a699489b23.xls";

		if (picUrl == null) {
			map.put("statusCode", 300);
			map.put("message", "文件丢失");
			return map;
		}

		Map map1;
		try {
			map1 = ExcelUtilController.realestateImportExcel(picUrl, false);
		} catch (Exception e1) {
			e1.printStackTrace();
			map.put("statusCode", 300);
			map.put("message", e1.getMessage());
			return map;
		}
		List<QuestionsVo> list = (List<QuestionsVo>) map1.get("list");
		int count = 0;
		// List<CommunityRealestateExcelImport> wrongList = new
		// ArrayList<CommunityRealestateExcelImport>();
		TransactionStatus transactionStatus = questionsService
				.getTransactionStatus();
		List<String> wrongList = new ArrayList<String>();
		String TypeId = "";
		QuestionsVo trmp = null;
		try {
			JSONArray jsonObject=null;
			for (QuestionsVo vo : list) {
				 jsonObject=new JSONArray();
				for (int i = 0; i < 6; i++) {
					jsonObject.add(i, "");
				}
				vo.setImage2(jsonObject.toString());
				questionsService.insert(vo);
				trmp = vo;
				TypeId = vo.getQuestionsTypeId() + "";
				// 更新题数和分数
				QuestionsTypeVo questionsTypeVo = questionsTypeService
						.findById(vo.getQuestionsTypeId());
				double temp = vo.getFraction();
				questionsTypeVo.setFractionSum(questionsTypeVo.getFractionSum()
						+ (long) temp);
				questionsTypeVo.setQuestionsSum(questionsTypeVo
						.getQuestionsSum() + 1);
				questionsTypeService.updateSelective(questionsTypeVo);
				count++;
			}
			questionsService.commit(transactionStatus);
		} catch (Exception e) {

			if (e instanceof DataIntegrityViolationException) {
				questionsService.rollback(transactionStatus);
				map.put("statusCode", 200);
				map.put("closeCurrent", true);
				map.put("tabid", "communityRealestateList");
				map.put("map", "");
				map.put("right", count);
				wrongList.add("导入失败，数据库异常，请检查是否字段长度");
				map.put("wrong", wrongList);
				uploadMap.remove(session.getId());
				return map;
			}
			questionsService.rollback(transactionStatus);
			map.put("statusCode", 200);
			map.put("closeCurrent", true);
			map.put("tabid", "communityRealestateList");
			map.put("map", "");
			map.put("right", count);
			
			wrongList.add(TypeId + "不存在");
			map.put("wrong", wrongList);
			uploadMap.remove(session.getId());
			return map;

		}

		map.put("statusCode", 200);
		map.put("closeCurrent", true);
		map.put("tabid", "communityRealestateList");
		map.put("right", count);
		// map.put("wrong", wrongList);
		uploadMap.remove(session.getId());

		return map;
	}
}
